package entidad;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Permiso implements Serializable {
    
    private boolean consultarProductos;
    private boolean consultarProveedores;
    private boolean consultarUsuarios;
    private boolean agregarProductos;
    private boolean agregarProveedores;
    private boolean agregarUsuarios;
    private boolean editarProductos;
    private boolean editarProveedores;
    private boolean editarUsuarios;
    private boolean eliminarProductos;
    private boolean eliminarProveedores;
    private boolean eliminarUsuarios;
    private boolean generarReportes;
    private boolean realizarTransferencias;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    public Permiso () {
        consultarProductos=false;
        consultarProveedores=false;
        consultarUsuarios=false;
        agregarProductos=false;
        agregarProveedores=false;
        agregarUsuarios=false;
        editarProductos=false;
        editarProveedores=false;
        editarUsuarios=false;
        eliminarProductos=false;
        eliminarProveedores=false;
        eliminarUsuarios=false;
        generarReportes=false;
        realizarTransferencias=false;
    }

    public Permiso (boolean[] lista) {
        consultarProductos=lista[0];
        consultarProveedores=lista[1];
        consultarUsuarios=lista[2];
        agregarProductos=lista[3];
        agregarProveedores=lista[4];
        agregarUsuarios=lista[5];
        editarProductos=lista[6];
        editarProveedores=lista[7];
        editarUsuarios=lista[8];
        eliminarProductos=lista[9];
        eliminarProveedores=lista[10];
        eliminarUsuarios=lista[11];
        generarReportes=lista[12];
        realizarTransferencias=lista[13];
    }

    public Permiso(boolean consultarProductos, boolean consultarProveedores, boolean consultarUsuarios,
                   boolean agregarProductos, boolean agregarProveedores, boolean agregarUsuarios,
                   boolean editarProductos, boolean editarProveedores, boolean editarUsuarios,
                   boolean eliminarProductos, boolean eliminarProveedores, boolean eliminarUsuarios,
                   boolean generarReportes, boolean realizarTransferencias) {
        this.consultarProductos = consultarProductos;
        this.consultarProveedores = consultarProveedores;
        this.consultarUsuarios = consultarUsuarios;
        this.agregarProductos = agregarProductos;
        this.agregarProveedores = agregarProveedores;
        this.agregarUsuarios = agregarUsuarios;
        this.editarProductos = editarProductos;
        this.editarProveedores = editarProveedores;
        this.editarUsuarios = editarUsuarios;
        this.eliminarProductos = eliminarProductos;
        this.eliminarProveedores = eliminarProveedores;
        this.eliminarUsuarios = eliminarUsuarios;
        this.generarReportes = generarReportes;
        this.realizarTransferencias = realizarTransferencias;
    }

    public boolean puedeConsultarProductos() {
        return consultarProductos;
    }

    public void setConsultarProductos(boolean consultarProductos) {
        this.consultarProductos = consultarProductos;
    }

    public boolean puedeConsultarProveedores() {
        return consultarProveedores;
    }

    public void setConsultarProveedores(boolean consultarProveedores) {
        this.consultarProveedores = consultarProveedores;
    }

    public boolean puedeConsultarUsuarios() {
        return consultarUsuarios;
    }

    public void setConsultarUsuarios(boolean consultarUsuarios) {
        this.consultarUsuarios = consultarUsuarios;
    }

    public boolean puedeAgregarProductos() {
        return agregarProductos;
    }

    public void setAgregarProductos(boolean agregarProductos) {
        this.agregarProductos = agregarProductos;
    }

    public boolean puedeAgregarProveedores() {
        return agregarProveedores;
    }

    public void setAgregarProveedores(boolean agregarProveedores) {
        this.agregarProveedores = agregarProveedores;
    }

    public boolean puedeAgregarUsuarios() {
        return agregarUsuarios;
    }

    public void setAgregarUsuarios(boolean agregarUsuarios) {
        this.agregarUsuarios = agregarUsuarios;
    }

    public boolean puedeEditarProductos() {
        return editarProductos;
    }

    public void setEditarProductos(boolean editarProductos) {
        this.editarProductos = editarProductos;
    }

    public boolean puedeEditarProveedores() {
        return editarProveedores;
    }

    public void setEditarProveedores(boolean editarProveedores) {
        this.editarProveedores = editarProveedores;
    }

    public boolean puedeEditarUsuarios() {
        return editarUsuarios;
    }

    public void setEditarUsuarios(boolean editarUsuarios) {
        this.editarUsuarios = editarUsuarios;
    }

    public boolean puedeEliminarProductos() {
        return eliminarProductos;
    }

    public void setEliminarProductos(boolean eliminarProductos) {
        this.eliminarProductos = eliminarProductos;
    }

    public boolean puedeEliminarProveedores() {
        return eliminarProveedores;
    }

    public void setEliminarProveedores(boolean eliminarProveedores) {
        this.eliminarProveedores = eliminarProveedores;
    }

    public boolean puedeEliminarUsuarios() {
        return eliminarUsuarios;
    }

    public void setEliminarUsuarios(boolean eliminarUsuarios) {
        this.eliminarUsuarios = eliminarUsuarios;
    }

    public boolean puedeGenerarReportes() {
        return generarReportes;
    }

    public void setGenerarReportes(boolean generarReportes) {
        this.generarReportes = generarReportes;
    }

    public boolean puedeRealizarTransferencias() {
        return realizarTransferencias;
    }

    public void setRealizarTransferencias(boolean realizarTransferencias) {
        this.realizarTransferencias = realizarTransferencias;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
        
}